Monte Carlo computations are used to investigate the behavior of models which are too complicated for explicit mathematical evaluation. The Ising model falls in this category. Monte Carlo methods applicable to the Ising model deserve special study because of their wide applications to problems ranging from protein synthesis, membrane structure and transport, to the sorting out of embryonic cells. The Ising model was originally designed to explain phase transitions of magnetic systems in terms of nearest neighbor interactions between spins arranged on a regular lattice. The spins were assigned one of two discrete values. Later the Ising model was applied to lattice gases, in which the discrete states of a lattice site were either 'empty' or 'occupied'. Since then the concept of an Ising model has been generalized through use to refer to any system with a finite or countable number of discrete, distinguishable states. There is not just one Monte Carlo method but rather a diverse set of computational procedures which share in common the use of random numbers. The emphasis of this review will be on a careful separation and description of the Monte Carlo methods available for Ising systems.